Web documents may contain content, markup language (e.g., Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), Extensible Markup Language (XML), etc.) elements, stylesheets (e.g., Cascading Style Sheets (CSS)), scripts (e.g., JAVASCRIPT®, etc.). Markup language elements and scripting language statements must be written in a precise syntax so that a web browser can correctly render the corresponding web pages. When there are errors in the syntax of the markup language elements and/or scripting language statements, the web browser may not interpret the markup language elements and/or scripting language statements correctly, and/or may render a web page in a manner that was not intended by the author of the markup language file. For a novice, learning the correct syntax of web page code is burdensome and time consuming. Even for an experienced designer, creation of a web page that works correctly across myriad web browsers, operating systems, and devices is often very time consuming.
WYSIWYG (what you see is what you get) website builders are tools that provide a visual interface for website design; that is, the user of a WYSIWYG website builder is not required to learn code. Such website builders have a gentle learning curve and allow novices to build a website and get it running live on the Internet quickly. Website builders, however, are inflexible and have limitations with respect to creating web pages that differ from a fixed set of templates. Additionally, the code automatically generated by website builders is often inefficient, non-semantic, and/or invalid. For example, Microsoft Frontpage and Adobe Dreamweaver are WYSIWYG web editors whose generated source code output may be neither human-readable nor human-editable.
On the other hand, web editors are tools to facilitate manual construction of websites, and are highly flexible as compared to website builders. Web editors, however, typically require users to have significant knowledge of web page coding and languages (e.g., HTML, XML, CSS, JAVASCRIPT®, etc.).